package com.ntschy.sys.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ntschy.common.core.entity.dataobject.SysMenu;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SysMenuMapper extends BaseMapper<SysMenu> {

    List<SysMenu> pageMenuAll(SysMenu menu);

    List<SysMenu> pageMenuByUserId(SysMenu menu);

    List<String> listMenuPermsByUserId(String userId);

    /* 构建用户路由用 */
    List<SysMenu> listMenuTreeAll();
    /* 构建用户路由用 */
    List<SysMenu> listMenuTreeByUserId(String userId);

    /* 角色详情用 */
    List<String> listMenuIdByRoleId(@Param("roleId") String roleId, @Param("menuCheckStrictly") Integer menuCheckStrictly);

    /* 校验菜单是否已分配 */
    int checkMenuExistRole(String menuId);

    /* 根据角色key 获取菜单[按钮2]列表 */
    List<SysMenu> listMenuBtnByRole(String roleKey);

    /* 根据角色key 获取菜单[菜单1]列表 */
    List<SysMenu> listMenuByRole(String roleKey);
}
